﻿#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

//3.常量引用使用场景，用来修饰形参；
//4.如果只是想显示内容，而不修改内容，那么就用const修饰这个形参；
//void showValue(int& val)
void showValue(const int& val)
{
	//val += 40;
	cout << "val =" << val << endl;//70 --> 30
}
void testConstantRef()
{
	//1.引用了不合法的内存，不可以这样做；
	//int& ref = 10;

	//2.加入const后，编译器的处理方式为：int tmp=10; const int& ref=tmp;
	const int& ref = 10;

	//ref = 20;
	int* p = (int*)&ref;
	*p = 20;
	cout << "ref =" << ref << endl;//20

	int a = 30;
	showValue(a);
}

//main244：常量的引用
int main244()
{
	testConstantRef();

	system("pause");
	return EXIT_SUCCESS;
}